﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Oxite.Data;

namespace NotMyself.Oxite.Model
{
    public class Comment : EntityBase, IComment, IFeedItem 
    {
        public Comment()
        {
            Tags = new List<ITag>();
        }
        public virtual Guid PostID { get; set; }
        public virtual IPost Post { get; private set; }
        public virtual Guid CreatorUserID { get; set; }
        public virtual IUser CreatorUser { get; private set; }
        public virtual Guid LanguageID { get; set; }
        public virtual ILanguage Language { get; private set; }
        public virtual long CreatorIP { get; set; }
        public virtual string UserAgent { get; set; }
        public virtual byte State { get; set; }
        public virtual string Title
        {
            get { return Post.Title; }
            private set { this.Post.Title = value; }
        }
        public virtual string Body { get; set; }
        public virtual DateTime? Published { get; set; }
        public virtual string CreatorName { get; private set; }
        public virtual string CreatorEmail { get; private set; }
        public virtual string CreatorHashedEmail { get; private set; }
        public virtual string CreatorUrl { get; private set; }
        public virtual IArea Area { get; private set; }
        public virtual IEnumerable<ITag> Tags { get; private set; }
    }
}
